home *** CD-ROM | disk | FTP | other *** search
- 10 ' LABELS.BAS created on 16 November 1985 by Wm. A. Van Nest
- 20 '
- 30 closew 0:closew 1:closew 3
- 40 START: fullw 2: clearw 2: Atari$=Chr$(14)+Chr$(15)
- 50 CLEAR
- 60 title$=" Van's Label Maker for Epson RX/FX series printers "
- 70 title$=chr$(32)+chr$(14)+chr$(15)+title$
- 80 title$=title$+chr$(14)+chr$(15)+chr$(32)
- 90 poke systab+24,1 : ' Don't need to see this...
- 100 a# = gb : ' Fetch globals address
- 110 gintin = peek(a#+8) : ' AES int_in array
- 120 poke gintin+0,peek(systab+8) : ' OUTPUT window handle
- 130 poke gintin+2,2 : ' we're changing it's name
- 140 s# = gintin+4 : ' DBL address for long poke
- 150 title$ = title$ + chr$(0) : ' assure zero terminator
- 160 poke s#,varptr(title$) : ' title of new window
- 170 gemsys(105) : ' wind_set AES call
- 180 poke systab+24,0 : ' Turn things back on
- 190 p$(1) = "Reset printer to default state"
- 200 p$(2) = "Printer in BOLD face type"
- 210 p$(3) = "Printer in Condensed mode"
- 220 p$(4) = "Printer in Enlarged mode"
- 230 p$(5) = "Printer in Italics mode"
- 240 p$(6) = "Printer in Elite mode"
- 250 clearw 2: gotoxy 0,0: print
- 260 ? " A - Enter label B - Print labels C - Exit to TOS":?
- 270 ? " Print modes in RED are active and may be combined.":?
- 280 for x = 1 to 6
- 290 if P(x) = 0 then color 1,0,1 else color 2,0,1
- 300 print X; " ";p$(x);
- 310 if x/2 = int(x/2) then ? else ? tab(40);
- 320 next x
- 330 color 1,0,1: print
- 340 print tab(30);"Current label:": PRINT
- 350 for x = 1 to 5
- 360 print tab(5);x;" ";l$(x)
- 370 next x
- 380 gotoxy 20,17: ? "Enter selection: ";: s$ = input$ (1)
- 390 if s$="C" or s$="c" then 850
- 400 if s$="A" or s$="a" then 560
- 410 if s$="B" or s$="b" then 640
- 420 if s$<"1" or s$>"6" then 380
- 430 s=val(s$)
- 440 p(s) = p(s) xor 1
- 450 if s<>1 then p(1) = 0: goto 480
- 460 for x=2 to 6: p(x)=0: next x: p(1)=1
- 470 lprint chr$(27);"@";
- 480 if s=2 then if p(s)=1 then lprint chr$(27);"E"; else lprint chr$(27);"F";
- 490 if s=3 then if p(s)=1 then lprint chr$(15); else lprint chr$(18);
- 500 if s<>4 then 530
- 510 if p(s)=1 then lprint chr$(27);"W";chr$(1);
- 520 if p(s)=0 then lprint chr$(27);"W";chr$(0);
- 530 if s=5 then if p(s)=1 then lprint chr$(27);"4"; else lprint chr$(27);"5";
- 540 if s=6 then if p(s)=1 then lprint chr$(27);"M"; else lprint chr$(27);"P";
- 550 goto 250
- 560 clearw 2: gotoxy 0,0: print
- 570 print "Input each of 5 lines. Edit BEFORE pressing [Return]!"
- 580 print
- 590 for x=1 to 5
- 600 print x;" ";
- 610 line input l$(x)
- 620 next x
- 630 goto 250
- 640 clearw 2:gotoxy 0,0:print
- 650 print "Printing alignment label..."
- 660 gosub 800
- 670 gotoxy 0,5:?"Is that OK? (Y or N please): ";
- 680 z$=input$ (1)
- 690 if z$="Y" or z$="y" then 720
- 700 if z$="N" or z$="n" then 640
- 710 goto 670
- 720 gotoxy 0,7:?"How many labels should I print (0 to end): ";
- 730 input c:if c=0 then 250
- 740 gotoxy 0,10:?"Printing label number:"
- 750 for x=1 to c
- 760 gotoxy 25,10:?x
- 770 gosub 800
- 780 next x
- 790 goto 250
- 800 for i=1 to 5
- 810 lprint l$(i)
- 820 next i
- 830 lprint
- 840 return
- 850 clearw 2:gotoxy 0,0:color 2,0,1
- 860 print "Type 'QUIT' to return to GEM Desktop"
- 865 color 1,0,1
- 870 end
- əəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəə